package reflect;

import reflect.annotations.AutoRunMethod;

import java.lang.reflect.Method;

/**
 * 访问注解参数
 */
public class ReflectDemo10 {
    public static void main(String[] args) throws Exception {
        Class cls = Class.forName("reflect.Person");
        Method method = cls.getDeclaredMethod("sayHello");
        //先判断该方法上是否有注解@AutoRunMethod
        if(method.isAnnotationPresent(AutoRunMethod.class)){
            /*
                所有的反射对象都支持一个方法:
                Annotation getAnnotation(Class cls)
                获取该反射对象表示的内容上指定的注解
             */
            //获取sayHello方法上的注解@AutoRunMethod
            AutoRunMethod arm = method.getAnnotation(AutoRunMethod.class);
            //通过注解对象获取对应的参数
            int value = arm.value();
            System.out.println("注解参数值为:"+value);
        }

    }
}
